package com.ys.servers.points.service;

import com.ys.servers.points.data.PointsType;
import io.vertx.core.AsyncResult;
import io.vertx.core.Future;
import io.vertx.core.Handler;

import java.util.List;

import io.vertx.core.json.JsonObject;

/**
 * Created by taotao on 2017/5/8.
 */
public interface PointsTypeService {

    public PointsTypeService addPointsType(PointsType pointsType, Handler<AsyncResult<PointsType>> resultHandler);

    public PointsTypeService removePointsType(String id, Handler<AsyncResult<Boolean>> resultHandler);

    public PointsTypeService restorePointsType(String id, Handler<AsyncResult<PointsType>> resultHandler);

    public PointsTypeService getPointsType(String id, Handler<AsyncResult<PointsType>> resultHandler);

    public PointsTypeService getAllPointsType(Handler<AsyncResult<List<PointsType>>> resultHandler);

    public PointsTypeService updatePointsType(PointsType pointsType, Handler<AsyncResult<PointsType>> resultHandler);

    public PointsTypeService disablePointsType(String id, Handler<AsyncResult<PointsType>> resultHandler);

    public PointsTypeService enablePointsType(String id, Handler<AsyncResult<PointsType>> resultHandler);

    public PointsTypeService getAllPointsTypeDesc(Handler<AsyncResult<List<PointsTyeDesc>>> resultHandler);


    public class PointsTyeDesc {
        private String title;
        private String desc;

        public String getTitle() {
            return title;
        }

        public PointsTyeDesc setTitle(String title) {
            this.title = title;
            return this;
        }

        public String getDesc() {
            return desc;
        }

        public PointsTyeDesc setDesc(String desc) {
            this.desc = desc;
            return this;
        }
    }
}
